For efficient maintenance or reconstruction of an information system such as a business system, it is necessary to understand a data processing structure in the information system. When the information system is large in size or modification is frequently made due to alteration of work, however, the processing structure is complicated and it is hard to grasp the entire information system. Moreover, there are many cases where an original developer or system administrator is absent due to long-term maintenance or operation or where a document is not synchronized with the system content due to insufficient document maintenance, which leads to further difficulty in grasping the information system. Accordingly, there have been used techniques for extracting a dependency relation between an entity and an event, the influenced area, a control flow, or a data flow by analyzing a source program or the like.
For example, U.S. Pat. No. 6,922,825 discloses a technique for checking on a data item access state in a program and a technique for analyzing a coupling relation between processes and data items included in the program based on the data item access state. Furthermore, it discloses a technique for presenting a data item allocation mode or a process division mode by using the data item access state data and the collected process information.
In addition, for example, U.S. Pat. No. 6,009,267 discloses a technique for extracting a data item name, a use application or the like defined in a source program, a technique for extracting a statement to carry out an input check processing or a setting processing at the output time, for a data item group having an external interface for other programs or external peripheral devices in the source program as a statement related to business specifications and for extracting a statement to carry out a file access related processing as a statement related to a computer control, and a technique for classifying the extracted statements into “business specification” and “control” groups and then outputting them into files, for example, with their line numbers and records including the data items used in the syntax or for listing the extracted statements in association with the record names and business terms. These inventions, however, do not suggest a viewpoint of determining whether or not specific entities or events are important or determining whether or not they have a problem, on the basis of the analysis result.
For example, US 2005/0108649 A1 discloses a control apparatus including means for receiving command data described in Extensible Markup Language (XML), means for analyzing the command data, and control means for carrying out a processing previously associated with a control code defined in a tag of an element in advance, when the analysis means detects the element in which the control code is defined in the tag from the command data. According to this invention, it is possible to provide the control apparatus having an improved throughput while exchanging data described in a standard language. Furthermore, U.S. Pat. No. 6,631,379 discloses a technique for determining a database command generated for each type of loaded XML document, and analyzing the XML document by utilizing multithread and separated processes to update a database. According to this invention, a lot of XML data files can be processed and loaded simultaneously and a required system memory is minimized to maximize the system reliability and memory management, which reduces a required time period from the start of processing the XML file to the end of loading it into the database. In these inventions, however, the analysis result of the source code is used for executing the control code, but not for presenting a relation between an entity and an event for a user.
For example, JPA-2003-157262 discloses a patent analyzer including a patent search database that previously stores a word or compound word contained in target patent documents as words or phrases for search in association with the patent documents; a word or phrase extraction unit that analyzes source patent documents to extract the words or compound words contained in the patent documents for condition settings as search condition words or phrases; and a search unit that compares the word or phrase for search with the search condition word or phrase to search for a patent document showing a high similarity to the source patent document as a highly relevant patent document to the source patent document. According to the aforementioned configuration, it is possible to search for the patent document showing the high similarity to the source patent document as a highly relevant patent document to the source patent document. However, there has not been a program analysis technique for determining a similarity or relevance between programs.
As described above, the conventional techniques only show the relation between an entity and an event, and there has not been a technique for determining whether or not the entity or the event is important or whether or not there is a problem in the entity or the event on the basis of the analysis result.